﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Data.Entity;
using SiGeMEC.Models;

namespace SiGeMEC.DAL
{
  public class SigemecInitializer : DropCreateDatabaseIfModelChanges<SigemecContext>
  {
    protected override void Seed(SigemecContext context)
    {
      var equipos = new List<Equipo>
      {
          new Equipo { CodigoVias = "VIAS-CPU-837", 
            NumeroSerie = "SN834899379", 
            Descripcion = "Computadora Desktop HP", 
            FechaAlta = DateTime.Parse("2002-09-01") },
          new Equipo { CodigoVias = "VIAS-CPU-654", 
            NumeroSerie = "SN834899379", 
            Descripcion = "Computadora Desktop HP", 
            FechaAlta = DateTime.Parse("2002-09-01") },
          new Equipo { CodigoVias = "VIAS-CPU-754", 
            NumeroSerie = "SN834899379", 
            Descripcion = "Computadora Desktop HP", 
            FechaAlta = DateTime.Parse("2002-09-01") },
          new Equipo { CodigoVias = "VIAS-CPU-643", 
            NumeroSerie = "SN834899379", 
            Descripcion = "Computadora Desktop HP", 
            FechaAlta = DateTime.Parse("2002-09-01") },
          new Equipo { CodigoVias = "VIAS-CPU-975", 
            NumeroSerie = "SN834899379", 
            Descripcion = "Computadora Desktop HP", 
            FechaAlta = DateTime.Parse("2002-09-01") },
          new Equipo { CodigoVias = "VIAS-CPU-232", 
            NumeroSerie = "SN834899379", 
            Descripcion = "Computadora Desktop HP", 
            FechaAlta = DateTime.Parse("2002-09-01") }
      };
      equipos.ForEach(s => context.Equipos.Add(s));
      context.SaveChanges();

      var tareas = new List<Tarea>
      {
          new Tarea { Nombre = "Instalar fuentes", 
            Descripcion = "Fuentes de Windows", 
            Activo = true, 
            FechaCreacion = DateTime.Parse("2002-09-01") },
          new Tarea { Nombre = "Instalar J#", 
            Descripcion = "Instalador v2.0", 
            Activo = true, 
            FechaCreacion = DateTime.Parse("2002-09-01") },
          new Tarea { Nombre = "Comprobar impresión del Código de Barras", 
            Descripcion = "Que no existan caracteres raros.", 
            Activo = true, 
            FechaCreacion = DateTime.Parse("2002-09-01") },
          new Tarea { Nombre = "Sincronizar la hora con el Servidor", 
            Descripcion = "Por protocolo NTP", 
            Activo = true, 
            FechaCreacion = DateTime.Parse("2002-09-01") },
          new Tarea { Nombre = "Deshabilitar íconos del escritorio", 
            Descripcion = "Con politicas de Active Directory", 
            Activo = true, 
            FechaCreacion = DateTime.Parse("2002-09-01") }
      };
      tareas.ForEach(s => context.Tareas.Add(s));
      context.SaveChanges();

      var tipoEquipos = new List<TipoEquipo>
      {
          new TipoEquipo { Nombre = "Equipo de Recaudación", 
            Descripcion = "Equipo de Recaudación", 
            Activo = true, 
            FechaCreacion = DateTime.Parse("2002-09-01") },
          new TipoEquipo { Nombre = "Servidor de Retén", 
            Descripcion = "Servidor de Retén", 
            Activo = true, 
            FechaCreacion = DateTime.Parse("2002-09-01") },
          new TipoEquipo { Nombre = "Equipo de Oficina", 
            Descripcion = "Equipo de Oficina", 
            Activo = true, 
            FechaCreacion = DateTime.Parse("2002-09-01") },
          new TipoEquipo { Nombre = "Firewall Regional", 
            Descripcion = "Firewall Regional", 
            Activo = true, 
            FechaCreacion = DateTime.Parse("2002-09-01") },
          new TipoEquipo { Nombre = "Impresora Alto Desempeño", 
            Descripcion = "Impresora Alto Desempeño", 
            Activo = true, 
            FechaCreacion = DateTime.Parse("2002-09-01") }
      };
      tipoEquipos.ForEach(s => context.TipoEquipos.Add(s));
      context.SaveChanges();
    }
  }
}